package ink.lovejinhu.leetcode;

import ink.lovejinhu.common.ListNode;
import org.junit.Test;

/**
 * @author jinhu
 * created 2021-05-06 21:10
 */
public class Solution_0083 {
    /**
     * 删除链表中重复元素
     *
     * @param head
     * @return
     */
    public ListNode deleteDuplicates(ListNode head) {
        ListNode listNode = new ListNode();
        ListNode result = listNode;
        while (head != null) {  //遍历链表
            ListNode next = head.next;  //当前节点的下一个节点
            if (next!=null){
                if (next.val == head.val) {
                    head = head.next;
                    continue;
                } else {
                    listNode.next = head;
                    head = head.next;
                }
            }else {
                listNode.next = head;
            }

        }

        listNode.next = null;
        return result.next;
    }

    @Test
    public void test() {
        ListNode listNode01 = new ListNode(1);
        ListNode listNode02 = new ListNode(1);
        ListNode listNode03 = new ListNode(2);
        ListNode listNode04 = new ListNode(3);
        ListNode listNode05 = new ListNode(3);
        listNode01.next = listNode02;
        listNode02.next = listNode03;
        listNode03.next = listNode04;
        listNode04.next = listNode05;
        listNode05.next = null;
        ListNode listNode = this.deleteDuplicates(listNode01);

    }
}
